The Internet and World Wide Web
Internet
The Internet is the name for a group of worldwide information resources. The roots of the Internet lie in a collection of computer networks that were developed in the 1970s. They started with a network called the Arpanet that was sponsored by the United States Department of Defense. The original Arpanet has long since been expanded and replaced, and today its descendent forms the global backbone of what we call the Internet.
It would be a mistake however to think of the Internet as merely a computer network, or even a group of computer networks connected to one another. Computer networks are simply the media that carries a huge resource of practical and enjoyable information. The Internet allows millions of people all over the world to communicate and to share with one another. It is a people-oriented society.
The Internet has a slew of services, including: Text file, Telnet session, Gopher, Usenet news group, File Transfer Protocol and the World Wide Web. Each have either specialized information contents or specialized network functions.
World Wide Web (WWW)
The Web, one of Internet's many resources, was originally developed in Switzerland at the CERN research center. The idea stemmed from a need for the CERN physicists to share their work and to use community information. This idea was later embraced as a general means for accessing information and services.
Like many other Internet resources, the Web uses a client/server system. Users use a client program called a browser, which serves as a window into the Web. From the point of view of the Web, everything in the universe consists of either documents or links. Thus the job of a browser is to read documents and to follow whatever links users select. A browser knows how to access just about every service and resource on the Internet, such as how to connect to WWW servers that offer public hypertext documents.
In the language of the Web, a hypertext document is something that contains data and, possibly, links to other documents. What makes the Web so powerful is that a link might connect to any type of Internet resource. It is flexible and convenient to use.
The Internet Protocols
The protocols that hosts use to communicate amongst themselves are key components of the Internet. For the WWW, HTTP is the most important of these communication protocols. For a document on the WWW, a reference to the document is called a URL. The URL contains the name of the protocol, HTTP, that is used to find that document. Current Web browsers have HTTP built-in.
Java
Java is a language developed by Sun for application development within a number of heterogeneous network-wide distributed environments. The paramount feature of Java is the secure delivery of applications which consumes the minimum amount of system resources, that can run on any hardware and software platform, and that can be dynamically extended.
Java may be characterized by three goals: to live, to survive, and to flourish.
The massive growth of the Internet and the World-Wide Web has led to a completely new way of looking at development and distribution of software. To live in the world of electronic commerce and distribution, the Java language supports secure, high-performance, and highly-robust application development on multiple platforms in heterogeneous distributed networks.
Operating on multiple platforms in heterogeneous networks invalidates the traditional schemes of binary distribution, release, upgrade, patch, and so on. To survive in this jungle, the Java language is architecturally neutral, portable, and dynamically adaptable.
To ensure the programmers can flourish within their software development environment, the Java language system is simple, so that it may be easily programmed by most developers, familiar, so that current developers can easily learn the Java language, object oriented, to fit into distributed client-server applications, multithreaded, for high performance of applications that require multiple concurrent activities, and interpreted, for maximum portability and dynamic capabilities.
Java vs. Procedural Languages
At a fundamental level, procedural languages are designed first to provide programmers with a framework for issuing commands for a computer to execute (hence the term "procedural"), and second to allow programmers to organize and manipulate data. Procedural languages vary in how they intuitively handle the two features. For example, COBOL, FORTRAN, and C are all procedural languages, and each has a specialized area that cannot be interchanged.
An object-oriented language like Java is designed first to allow programmers to define the objects that make up the program and data contained therein, and second to define the code that makes up the program.
Many programmers use C++ or languages like Object Pascal, Perl 5.0, and Objective C. What these languages have in common is that they are hybrid languages, or procedural languages with object-oriented extensions. These languages make it possible for programmers to use objects within their programs. They allow, and in many cases require, the use of procedural code to accomplish certain tasks.
Java vs. Other Object-Oriented Languages
A pure object-oriented language has all data in the language represented in the form of objects. In SmallTalk, which is a pure object-oriented language, every aspect of the language is object- or message-based and all data types, simple or complex, are object classes.
Java implements the basic C simple data types, such as integer, characters, and floating point numbers, outside the object system, but deals with everything else as objects. Such a language design enables Java to avoid many of the performance pitfalls found in a purely object-oriented language. In all other ways, Java is a pure object-oriented language. All program code and data reside within objects and classes.
Applet
An applet is a small Java program that is automatically downloaded from a Web site and runs within a user's Web browser in response to instructions to do so contained within the Web page being viewed by the user.
Java-Capable Browser
There are three different types of Web browsers: ordinary Web browser, Java-capable Web browser, and native Java Web browser.
An ordinary Web browser is not capable of handling applets.
A Java-capable browser, such as Netscape, is a browser that supports Java applets. This kind of browser provides a display area for one or more applets in the browser window. The display area displays a Web page in the same way that the browser displays images. An applet can use a display area however it sees fit, such as using the area to display buttons and other user interface controls or to display graphics and animation.
HotJava is a native Java Web browser and was written in Java. Applets running in HotJava can have much more control over the browser's user interface environment than in the other types of browsers, and the browser can be extended to support new media formats and protocols through the use of Java code. There are definite boundaries between the C code in which the Netscape browser was written and the Java code of the applets that the browser runs.
Java and Other Platforms
Although Sun intends to directly support only a select group of platforms, it has taken steps to ensure that Java will eventually be ported to every platform where there is interest in doing so. Sun has made the source code to JDK freely available for non-commercial use. This has triggered a number of efforts to port Java to different platforms including Linux, Next, and Amiga, in addition to Windows 95, Windows NT, and Sun's Solaris. These efforts are necessary to make Java applets transparent to all operating environments connected to the Internet.
SparcWork Calendar Tool
SparcWork Calendar Tool is a calendar schedule keeper developed by Sun. It serves as a personal organizer capable of scheduling and reminding users of their appointments. It also serves as groupware capable of sharing schedule information amongst colleagues within work groups.
The Calendar Tool is, however, strictly text based with no multimedia effect capability, and it cannot connect to the Internet directly. Like most other schedulers/organizers, it functions only within Sun's proprietary operating system.